package cn.zn.user.service;

import cn.zn.user.entity.SysUser;
import cn.zn.user.vo.SysUserEditVo;
import cn.zn.user.vo.SysUserPageVo;
import com.baomidou.mybatisplus.extension.service.IService;

/**
 * <p>
 * 服务类
 * </p>
 *
 * @author zn-admin
 * @since 2021-01-28
 */
public interface SysUserService extends IService<SysUser> {

    /**
     * 通过用户名查询用户
     *
     * @param loginName 用户名
     * @return 用户对象信息
     */
    SysUser selectUserByLoginName(String loginName);

    SysUser selectUserById(String userId);

    void updateUserRoles(String userId, SysUserEditVo vo);

    /**
     * 修改密码
     *
     * @param newPassword 新密码
     */
    void resetUserPwd(String userId, String newPassword);

    /**
     * 修改密码
     *
     * @param oldPassword 老密码
     * @param newPassword 新密码
     */
    String updatePassword(String userName, String oldPassword, String newPassword);

    /**
     * 根据条件分页查询用户
     *
     * @param vo 用户
     * @return 用户
     */
    Object selectUserList(SysUserPageVo vo);

}
